package com.elguile.laptop.casoDeUso;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;

import com.elguile.laptop.baseDatos.RepositorioVenta;
import com.elguile.laptop.entidades.Reloj;
import com.elguile.laptop.entidades.Venta;
import com.elguile.laptop.errores.ExcepcionDeFechaEnElOrdenEquivocado;

public class ConsultaDeVenta {
	private final RepositorioVenta repositorioVenta;
	private List<Venta> ventas;

	public ConsultaDeVenta(RepositorioVenta repositorioVenta) {
		this.repositorioVenta = repositorioVenta;

	}

	public List<Venta> buscar(String codigo, Date inicio, Date fin) {
		if (inicio.getTime() > fin.getTime())
			throw new ExcepcionDeFechaEnElOrdenEquivocado(
					"usted a elegido las fechas en el orden equivocado");
		ventas = repositorioVenta.buscar(codigo, inicio, fin);
		return ventas;

	}

	public BigDecimal getTotal() {
		BigDecimal total = BigDecimal.ZERO;
		for (Venta venta : ventas) {
			total = total.add(venta.obtnerTotal());
		}

		return total;
	}

}
